text:
The photography club which I co-lead is made up of 2300+ members around the world, and just by coincidence two of our members recently attended Joe McNally's One-Day Lighting Workshops and shared their experiences with the group. Now if you know anything about the photography industry, you know that Joe McNally (who's on my Top Photographers list) is like a god of lighting that even the most respected Top Photographers in the industry bow down to his amazing body of work and quick thinking. It's probably on the bucket list of many of them (and definitely mine) to attend one of Joe's workshops to learn from the grand pooh bah of Speedlights, so I thought you'd enjoy hearing these club members perspective on his class.
Perspective #1 by Ken Moore
Last week I attended one of Joe McNally's One Day Basic Lighting workshops and Ron invited me to share my experience with, you, his readers. If you're interested in attending one of his workshops and wondering whether you should attend the Basic or Advanced workshop, you probably want to start with the Basic one. He's been a pro for over thirty years and the class moves along at a pretty fast pace, so what's "basic" to Joe seemed fairly advanced to me.
Roughly half the fifteen attendees were working professional photographers. The other half was serious amateurs, with day jobs outside the photography industry. Every attendee brought some kind of full-frame camera. Although Joe uses Nikon cameras (and his wife works for Nikon), he kept the class camera-neutral. 4 of the 15 attendees were Canon shooters and everyone else had a D700, D3, or D3s.
Joe started the class with a slide show of some of his work, commenting on how he lit each one ("big lights - outside," "small lights with bounce fill"). He polled the group for whether we had a preference for working the small lights or big lights and the group's preference was for small lights. So, we used SB-900s for most of the day. He then described most of the items in the studio (umbrellas, soft boxes, tri-grip diffusers), explaining why and when he uses each one.
The next three hours had Joe going through various shooting situations, explaining how he deals with various combinations of lighting situations and natural light problems. He started by discussing situations in which TTL metering is fooled and how to compensate. If you look at this blog entry, in which the last two photos were taken in my class, the last photo was taken during that part of the class. The reason I'm not in the picture is Joe asked me to be the "model," because I was the only person wearing a white shirt and he wanted to show how TTL would underexpose in that situation. (I'm in the picture above that one, the fourth person from the left. That was taken during a break when Drew, one of Joe's assistants, explained how he preps Joe's cameras and does sensor cleaning.)
One of my big takeaways from this part of the class was that there is still a lot of trial and error, even for really experienced professionals. It's just that Joe makes fewer mistakes and converges really fast on a good image. The picture below was taken during one of those situations, as Joe was checking the monitor while working through a backlighting scenario.
After a few situations, it's clear he works pretty much the same way with every scene and model:
- Evaluate a picture taken with available light. Adjust the composition and expose to get all those elements as intended. (He always starts in Aperture priority, AWB, and maximum flash sync shutter speed (1/250 for D3s). The lens he used most of the time was the 70-200 f2.8 zoom).
- Add the main light(s) and adjust as necessary, always starting with TTL metering. In Nikon's CLS system, main lights are always in Group A, fill lights in Group B, and background lights in Group C. Don't add fill (lights or bounce) until the main light is set correctly.
- Add the fill light(s) and make adjustments.
- Add the background lights and make adjustments.
- Work with the model and take enough pictures until getting the one that "hits."
After lunch, Joe worked through a few more complicated situations, including one that used big lights (Elinchrom Rotalux "Deep Throat" Octa 39″ Softbox) combined with SB-900s in SU-4 remote mode. In the picture below, which was taken during that scenario, Joe is using the Nikkor 200mm F2 on his D3s.
After that, he split the group into 4 teams, each with a model, and sent us off to take pictures anywhere inside or outside the building using just one SB-900, but any combination of modifiers and reflectors we wanted. (One team was all the Canon shooters.) This was difficult, but a really great learning experience. It was the first time for me working with a team of assistants and a professional model, but the hard part was communicating what I was trying to shoot and coordinating all of them. It was also educational being an assistant for someone else, while trying to help them get the shot they were looking for. Periodically, Joe would check each team and ask how it was going. It's one thing to look over his shoulder while he's working, but having him looking over mine added to the pressure. It's probably what working pros have to deal with when their art director or client wants to see how it's going, so I guess it added to the experience. I can't say I got results anywhere close to what Joe did, but I tried some new things are below are a couple of pictures that I shot:
At the end of the day, while we were uploading files for the models, Joe answered our remaining questions. I got more out of the day than I expected and really learned a lot. Mostly, I've got some new ideas and experiments to run, so I'm looking forward to shooting them. Joe's a great instructor and he always kept the group engaged, often with his celebrity anecdotes and wacky sense of humor.I really enjoyed the workshop and highly recommend it.
Perspective #2 – John DuBois
There are a good number of great, enthusiastic shooters where Ken and Ron work, I count myself lucky enough (thankful really) to be part of that group. Ron also asked me to write some comments about my experiences. It was the luck of a timely business trip for me that created the opportunity to attend one of Joe McNally's Lighting Workshops. A rare treat! I attended an advanced workshop later in the week.
As Joe would say I'm a repeat offender having had a prior experience through his work with the Digital Landscape Workshop Series folks. In DLWS there are several lighting sessions where Joe discusses and demonstrates lighting and using small flash during "class" time or out in the field. The fast pace that Ken mentioned is definitely an ingredient of the lighting segments in that program and I think just a natural result of Joe's teaching by doing style using real world examples. I talked with attendees that also attended on earlier days and they shared that those workshops were similar in content to ours that day with the pace juiced a little bit more.
He asked the group as we went through the day what we wanted to do next ("would you like to work that big light example we just did only with small flash or would you…") and the day just played from there – a question asked, some class feedback, a problem to light emerges and then we dive in and get it sorted out. If you've read "The Moment It Clicks" or "Hot Shoe Diaries" or viewed Joe's online training via Kelby Training, this approach will be immediately familiar. A lot of the technique is covered in "Hot Shoe Diaries". What a live class with a small group adds is a much more direct and intimate experience with the process - the dynamic of going from start to finish while also directly observing 30 years of pro experience working through a problem in real time (you don't realize until the end when it's your turn to shoot with a team how much that experience counts). That dynamic also includes some overlooked aspects of studio work such as working with, talking to, caring for the people involved especially the model. Much of the success of the final image also comes from someone who is secure in front of the camera surrounded by all of the commotion of setting up the shot - that is also the photographer's responsibility.
We ran into lighting snags (flashes wouldn't fire, drifted up into high speed sync, too much ambient, not enough flash) to work out along the way and that was part of the fun. Ken described a good bit of the process in his post. One consistent area of Joe's comments stuck with me and it all had to do about light – "quality of light", "wrapping around", "light draping the subject's face", "lovely, soft" etc etc. He's thinking of those elements as it builds the shot. Consistency also helps keep things simple in what can get very complicated (and confusing) very fast and when things didn't stay simple often the best recourse was to reset from a good starting point and work forward again, we did that enough for me to see the value in that approach, something I had to apply myself later in the workshop. We also were able to step into the shots ourselves after they were mostly setup and try a handful of captures individually. If I had Joe McNally to setup and light a scene and then just step in and shoot... was I dreaming?
I came away with wanting to add one inexpensive piece of gear to my kit and that was the Ray Flash ring flash that Ron has mentioned on his blog (which includes a discount!!!!). The Ray Flash produces a direct, shadow-less light source that surprised me in its simplicity and amazed me with the final images. We used it for several lighting problems and several images appear on Joe's blog from the workshops.
Ken outlined the way Joe breaks down a problem and builds up a solution in his post and Joe followed that path during the workshop that I attended to. I thought I would share how that was done for an image that was posted on Joe's blog that was shot in the workshop that I attended and then show an example from my time with one of the models during the workshop.
We went into one of the "unique" spaces that the Dobbs Ferry Building offered with a model and the first thing he does is size up the overall feel of the ambient light and finds an exposure value that gives more control of that ambient when used with flash. Below is an available light shot of the raw material of the shoot.
Next setting the lights – this would be shot with a single overhead light through an umbrella.
Add some interest to the shot – Joe experiments with the white balance of the shot and goes to a tungsten in camera setting to change the mode of the ambient to a much cooler value and then gels the flash with a full cut and a half CTO (color temperature orange) counter the white balance change and bring the light first to a neutral level and then warmer (this is the light hitting the subject). A bunch of shots follow…
You can see on the monitor where the shot headed – the background is pushed back, the feel of the room is a cooler blue and yet the model radiates a warmer tone with a nice balance of light. One light, camera left, one reflector for a little fill. He also has the model orient himself to the light so that the line through the shoulders is on the focus plane of the camera. A final version of this is posted on Joe's blog from that day. Fun to watch and learned a lot along the way.
My model shots from the end of the day were also part of the fun, all done as with Ken with a team sharing time together over roughly 90 minutes. It was a very intense experience; mostly with one with one off-camera flash and some diffusers/reflectors. If there's a lesson I took away – it is practice, practice and… wait for it… practice (stuff just has to become automatic so it stays out of the way). Keep things simple and have a repeatable process that can be reset to a baseline when things don't work out.
Like the previous example, I did a background test shot to see where the ambient was and get an exposure for the camera that gave me control of the background light – I wanted it to go dark with a hint of the light and shadow from the windows hitting the backdrop and then found a starting value for the flash which was camera right through a Tri-Grip diffuser panel held by an assistant.
Once those were set, it was a matter of posing the model, adjusting camera exposure, flash output, flash placement and the placement of a reflector below the model to balance out the lighting. There's a lot going on even with just one flash and a reflector – you learn the practical reasons for keeping things simple – it helps you to remain sane.
I experimented with different light placements – keeping the flash (and panel) just out of view on the right to get a nice glow of light on the model with some hint of background and shadow from the windows to the left. Later with more experience and practice adding more variation and lighting can come along. But there's a lot that can be accomplished with just one (ok, maybe two) small flashes. Hard to believe it was shot in the same brightly lit space that Ken illustrated in his shots of the studio space.
It was a great experience, a chance to learn a lot. The first thing I did when I got home (and rested) was dig out those books to re-read.
Click here to see more of John's images from the workshop.
Okay now that didn't help matters one bit as I'm ready to take a vacation from work and go to Joe's next workshop! It definitely sounds like some fun stuff that I'll have to check out one day after I win the lottery <g>. Joe's rates are dirt cheap (about 10% of what some people of his caliber charge) and appear to be very hands on, so I'd encourage you to check out his workshop schedule and sign up for one today if your schedule permits!
I'd like to thank Ken and John for taking the time to clean up their emails for your viewing pleasure on this blog. I'd also like to thank Joe McNally for giving us the permission we needed to repost some of these images for this editorial piece on his workshops.
Ken and John volunteered for the content in this article and were not compensated in any way for this content. All images are used with their consent and permission as well as Joe McNally's. None of us get any commission or benefit in any way if you take Joe's workshops, so I'm doing this strictly as a community service write up and as a favor to Joe who has been very kind to me in the past. I will get a tiny commission if you purchase a product using the product links in the article that go to Adorama or B&H, so thanks for supporting this blog!
If you are featured in any of the images in this editorial article and have any concerns in any way, please don't hesitate to contact me at email@example.com so we can address your concerns immediately.


text:
This is what I had for the DND lacquer & gel. Feel free to make changes and add to it: Create the perfect manicure with DND (Daisy Nail Designs). With a variety of colors to choose from, nail art has never been this fun. Each set comes with one nail lacquer and one gel polish. Since founded in 2012, DND has gained popularity across nail salons. For rich, long-lasting color, DND will leave your nails looking and feeling great.
Item Name: DND - Base, Top, Gel & Lacquer Combo - Rose City MI - #535
Manufactuer: DND - Daisy Nail Design
Type: Gel & Lacquer Polish
Weight: 290 grams - (0.64 lb)
Condition: New
Tags: BPX, Color: Pink, Creme, DND - Daisy Nail Design, Finish: Creme, Finish: Pastel, Group: Rose City MI, Kit, Nail Set, Pastel, Pink, Season: Spring, Season: Timeless, Spring, The Ultimate Mani Gift Guide, Timeless, Type: Kit, Type: Nail Set, and Valentine's Day Collection 2021

subset: commoncrawl


text:
This one-of-a-kind piece is entirely hand-made, from knitting the original form to dipping it in liquid porcelain, to tending and shaping it while it dries. The kiln's heat can also add to the gesture. It has a flat clay bottom which is signed. See all the photos!
- Materials: Porcelain
- Color: Translucent White
- Size:Approximately 1.5″h x 2.75″w x 3″d
- Fully fired to mid-range stoneware temperature
- Won't hold liquid
- Hand-wash, please
- Free Shipping!


text:
Helix Studios – "Sunny Daze": Chiseled young guys Cole Claire and Marcell Tykes are wrapped up in one another pretty heavy as sun streams through the windows highlighting their well worked out physiques. Marcell gets on his knees to get at Cole's throbbing cock which has been poking at him through his jeans. He works Claire's cock like a 9 to 5 with over time, gobbling up every thick inch down to the balls and using his hand to add extra pleasure. This kid sucks dick so good Cole even had to stop once because he was ready to bust right there! Cole shows his appendage's appreciation by returning the raunchy deep throat action before flipping Tykes over to get at that tush. Marcell is a trained dancer so every inch of his beautiful body is cut and that ass is an absolute work of art! Cole goes at it full steam ahead, sexing up the boy's booty with his wet tongue and WAY more than one finger. When Marcell's muscled ass nearly swallows Cole's hand completely, he knows it's time to lay some serious fuck on the kid. He spits on his hand, slaps it on his cock and shoves that bad boy all the way in with one hard thrust. Tykes can take a pounding and Cole crashes cock at full speed from the jump. Our cock cam catches the hard hammering action from underneath along with both boy's righteously round rumps. Marcell responds by slamming his hungry ass back at our top just as hard. Claire takes a seat on the couch leaving Marcell room to sit down on his hard hog. Tykes muscled brown back and butt ripple and flex as he fucks, bouncing on Cole's big boner to the balls. Claire wraps his arm around his bronze bottom while keeping his bone buried and flips the dancer onto his back. The tight, creamy white top takes advantage of Tykes' flexibility and gets the kid's knees to his ears as his own bubble butt keeps smashing into the hot bottom. He eases up while adding some nipple play, causing Tykes torpedo to bust! Cole pulls out and gives Marcell every ounce of liquid pleasure inside his perfect piece. Tykes' beautiful bronze skin looks hot as hell covered in both boy's creamy white jock jizz.
Watch Marcell Tykes and Cole Claire fuck in the full video


text:
Commercial Painting in Watsonville
From stores and restaurants to offices and condos, Fine Line Painting provides a wide range of commercial painting services to various businesses and industries. We work quickly and efficiently to get the job done right, and we do it all for budget-friendly prices.
Get in touch with us now at (831) 724-3463 to set up a consultation.
A Top-Rated Commercial Painting Company
Whether you need assistance with a project that's simple or complex, our painters can do it all. Over the years, we have made a name for ourselves with our seamless handiwork and outstanding client care. We use top-grade materials and equipment to provide you with the results you want.
We offer all the following services:
- Interior painting
- Exterior painting
- Wallpaper installation
- Wallpaper removal
- Paint touch-ups
- Drywall repair
- Epoxy flooring
- And more!
If you don't see the service you need above, give us a call. We will be happy to answer any questions and address any concerns you may have.
Comprehensive Commercial Painting Services
As a local industry leader, we can transform your commercial property from ordinary to extraordinary in no time. Whether you want to improve the interior or exterior of your business, we have you covered.
Interior Commercial Painting
Take your branding to the next level with our commercial painting. We will be happy to incorporate the company colors throughout the space without going over the top. Add some much-needed pizzazz to your property and make your employees and clients feel at home.
Exterior Commercial Painting
Boost both the curb appeal and property value of your building with a fresh pop of color. Draw attention to your business with the right color selection. Our professionals will make sure you're seen from a mile away, and we'll ensure every impression you make is a good one.
Set up an appointment with our staff today to learn more about our premium painting services.
Fine Line Painting's Trusted Commercial Painting Experts
Our commercial painting contractors are licensed, insured, and bonded, and we use only the best painting techniques to get every detail right. We make sure to prime the walls well before applying the correct number of paint layers, getting the colors to pop. We're quick on our feet yet detail-oriented, and we won't miss a spot.
With us, the painting process is as smooth and simple as it can be.
Meet with Our Commercial Painting Contractors
If you're interested in our services, be sure to book a commitment-free consultation at the earliest convenience. We will take the time to speak with you about what you hope to accomplish and how we can make it happen.
Once we've figured out the details, we'll gladly get you an honest estimate upfront.
Watsonville's Leading Commercial Painters
Call Us to Get Started Today
Fine Line Painting is your top choice for all your commercial painting needs. Whether it's interior or exterior painting, we can redefine your property, giving it a whole new life.
Discover the difference that quality paintwork makes. Call us now at (831) 724-3463 to find out more.


text:
From | "Hamilton Lankford" <[email protected]> |
To | <[email protected]> |
Subject | st: Seeking a STATA program for estimating a two-way fixed effect model where the panel is unbalanced |
Date | Sun, 7 Nov 2004 07:59:08 -0500 |
I need to estimate a two-way fixed effects model employing unbalanced panel data. What I need is an implementation of the fixed effect formulation developed by Wansbeek and Kapteyn (J. of Econometrics, 1989). It is my understanding that STATA does not include such a procedure. Furthermore, I can't employ STATA's one-way fixed effect procedure by explicitly employing the full set of dummy variables for one of the indices; each of the indices contain too many groups. Do you know if such a STATA program is available? Any information you can provide would be greatly appreciated. DETAILS: My data set contains roughly 800,000 records with the number of individuals, indexed by j, roughly equaling 250,000 and the number of units (e.g., firms) characterized by a second index, k, being close to 40,000. The data is quite unbalanced in that only a few values of k are observed for each individual. The number of records per individual also varies somewhat. In addition to the fixed effects, the model only has a small number of explanatory variables. My central goal is to estimate the model and back out estimates of the fixed effects associated with the second index (firms) as well as the standard errors for each of those estimates. These will be used in a second-stage analysis. Any information or suggestions would be greatly appreciated. Hamp Lankford Hamilton Lankford Professor of Economics and Public Policy University at Albany State University of New York * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/
© Copyright 1996–2024 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |


text:
RFC 8053 - HTTP Authentication Extensions for Interactive Clients
Internet Engineering Task Force (IETF) Y. Oiwa Request for Comments: 8053 H. Watanabe Category: Experimental H. Takagi ISSN: 2070-1721 ITRI, AIST K. Maeda T. Hayashi Lepidum Y. Ioku Individual Contributor January 2017 HTTP Authentication Extensions for Interactive Clients Abstract This document specifies extensions for the HTTP authentication framework for interactive clients. Currently, fundamental features of HTTP-level authentication are insufficient for complex requirements of various Web-based applications. This forces these applications to implement their own authentication frameworks by means such as HTML forms, which becomes one of the hurdles against introducing secure authentication mechanisms handled jointly by servers and user agents. The extended framework fills gaps between Web application requirements and HTTP authentication provisions to solve the above problems, while maintaining compatibility with existing Web and non-Web uses of HTTP authentication. Status of This Memo This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation. This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8053. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1. Terms for Describing Authentication Protocol Flow . . . . 5 2.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 8 3. Optional Authentication . . . . . . . . . . . . . . . . . . . 8 3.1. Note on Optional-WWW-Authenticate and Use of WWW-Authenticate Header with Non-401 Status . . . . . . . 10 4. Authentication-Control Header . . . . . . . . . . . . . . . . 11 4.1. Non-ASCII Extended Header Parameters . . . . . . . . . . 13 4.2. Auth-Style Parameter . . . . . . . . . . . . . . . . . . 13 4.3. Location-When-Unauthenticated Parameter . . . . . . . . . 14 4.4. No-Auth Parameter . . . . . . . . . . . . . . . . . . . . 15 4.5. Location-When-Logout Parameter . . . . . . . . . . . . . 16 4.6. Logout-Timeout Parameter . . . . . . . . . . . . . . . . 17 4.7. Username Parameter . . . . . . . . . . . . . . . . . . . 17 5. Usage Examples . . . . . . . . . . . . . . . . . . . . . . . 18 5.1. Example 1: A Portal Site . . . . . . . . . . . . . . . . 19 5.1.1. Case 1: A Simple Application . . . . . . . . . . . . 19 5.1.2. Case 2: Specific Action Required on Logout . . . . . 20 5.1.3. Case 3: Specific Page Displayed before Login . . . . 20 5.2. Example 2: Authenticated User-Only Sites . . . . . . . . 20 5.3. When to Use Cookies . . . . . . . . . . . . . . . . . . . 21 5.4. Parallel Deployment with Form/Cookie Authentication . . . 22 6. Methods to Extend This Protocol . . . . . . . . . . . . . . . 23 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 8. Security Considerations . . . . . . . . . . . . . . . . . . . 24 8.1. Security Implication of the Username Parameter . . . . . 24 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.1. Normative References . . . . . . . . . . . . . . . . . . 25 9.2. Informative References . . . . . . . . . . . . . . . . . 26 Appendix A. (Informative) Applicability of Features for Each Message . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 1. Introduction This document defines several extensions to the current HTTP authentication framework, to provide functionality comparable with current, widely used, form-based Web authentication. A majority of the recent websites on the Internet use custom application-layer authentication implementations using Web forms. The reasons for these may vary, but many people believe that the current HTTP Basic and Digest authentication methods do not have enough functionality (including good user interfaces) to support most realistic Web-based applications. However, such use of form-based Web authentication has several weaknesses against attacks like phishing, because all behavior of the authentication is controlled from the server-side application. This makes it really hard to implement any cryptographically strong authentication mechanisms into Web systems. To overcome this problem, we need to "modernize" the HTTP authentication framework so that better client-controlled secure methods can be used with Web applications. The extensions proposed in this document include: o optional authentication on HTTP (Section 3), o log out from both the server and client side (Section 4), and o finer control for redirection depending on the authentication status (Section 4) 1.1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. This document distinguishes the terms "client" and "user" in the following way: a "client" is an entity understanding and talking HTTP and the specified authentication protocol, usually computer software; a "user" is a (usually natural) person who wants to access data resources using "a client". 2. Definitions 2.1. Terms for Describing Authentication Protocol Flow HTTP Authentication defined in [RFC7235] can involve several pairs of HTTP requests/responses. Throughout this document, the following terms are used to categorize those messages. For requests: 1) A non-authenticating request is a request not attempting any authentication: a request without any Authorization header field. 2) An authenticating request is the opposite: a request with an Authorization header field. For responses: 1) A non-authenticated response is a response that does not involve any HTTP authentication. It does not contain any WWW-Authenticate ([RFC7235]) or Authentication-Info header field ([RFC7615]). Servers send this response when the requested resource is not protected by an HTTP authentication mechanism. In the context of this specification, non-authentication-related negative responses (e.g., 403 and 404) are also considered non-authenticated responses. (See the note on successfully authenticated responses below for some ambiguous cases.) 2) An authentication-initializing response is a response that requires or allows clients to start authentication attempts. Servers send this response when the requested resource is protected by an HTTP authentication mechanism, and the request meets one of the following cases: * The request is a non-authenticating request, or * The request contained an authentication trial directed to a protection space (realm) other than the one that the server expected. The server will specify the protection space for authentication in this response. Upon receiving this response, the client's behavior is further divided to two possible cases: * If the client has no prior knowledge on authentication credentials (e.g., a username and a password) related to the requested protection space, the protocol flow terminates and the client will ask the user to provide authentication credentials. * On the other hand, if the client already has enough authentication credentials to the requested protection space, the client will automatically send an authenticating request. Such cases often occur when the client does not know beforehand that the current request-URL requires authentication. 3) A successfully authenticated response is a response for an authenticating request meaning that the authentication attempt was granted. (Note: if the authentication scheme used does not use an Authentication-Info header field, it can't be distinguished from a non-authenticated response.) 4) An intermediate authenticating response is a response for an authenticating request that requires more reaction by the client software without involving users. Such a response is required when an authentication scheme requires two or more round-trip messages to perform authentication, or when an authentication scheme uses some speculative short-cut method (such as uses of cached shared secrets) and it fails. 5) A negatively authenticated response is a response for an authenticating request, which means that the authentication attempt was declined and cannot continue without a different set of authentication credentials. Clients typically erase the memory of the active credentials and ask the user for other ones. Usually the format of these responses is the same as the one for authentication-initializing responses. Clients can distinguish negatively authenticated responses from authentication- initializing responses by comparing the protection spaces contained in the request and in the response. Figure 1 shows a state diagram of generic HTTP authentication with the above message categorization. Note that many authentication schemes use only a subset of the transitions described in the diagram. Labels in the figure show the abbreviated names of response types. =========== ----------------- NEW REQUEST ( UNAUTHENTICATED ) =========== ----------------- | ^ non-auth. v | response +----------------------+ NO +-------------+ | The requested URI |--------------------------->| send normal | | known to be auth'ed? | ---------------->| request | +----------------------+ / +-------------+ YES | / initializing| v / | +------------------+ NO / | | Can auth-req.(*1)|--------- | | be constructed? | | +------------------+ | YES | initializing | | ---------------------------------------. | | / v v | | ---------------- NO +-----------+ | | ( AUTH-REQUESTED )<------| passwords | | | ---------------- |etc. known?| v | +-----------+ +-----------+ negative ------------- negative |YES | send |---------->( AUTH-FAILED )<---------, | /| auth-req | ------------- | | / +-----------+\ | v | \ \ intermediate +-----------+ | \ -------------------------------->| send | | \ | auth-req | | non-auth. \successful successful +-----------+ | response (*2) \ / | ^ v \ / | | ----------------- \ -------------- / `----' ( UNAUTHENTICATED ) ----->( AUTH-SUCCEED )<---- intermediate ----------------- -------------- Figure 1: Generic State Diagram for HTTP Authentication Notes: (*1) For example, the "Digest" scheme requires a server-provided nonce to construct client-side challenges. (*2) In "Basic" and some others, this cannot be distinguished from a successfully authenticated response. 2.2. Syntax Notation This specification uses an extended ABNF syntax defined in [RFC7230] and [RFC5234]. The following syntax definitions are quoted from [RFC7230] and [RFC7235]: auth-scheme, quoted-string, auth-param, SP, BWS, header-field, and challenge. It also uses the convention of using header field names for specifying the syntax of values for the header field. Additionally, this specification uses the following syntax definitions as a refinement for token and the right-hand-side of auth-param in [RFC7235]. bare-token = bare-token-lead-char *bare-token-char bare-token-lead-char = %x30-39 / %x41-5A / %x61-7A bare-token-char = %x30-39 / %x41-5A / %x61-7A / "-" / "_" extension-token = "-" bare-token 1*("." bare-token) extensive-token = bare-token / extension-token integer = "0" / (%x31-39 *%x30-39) ; no leading zeros Figure 2: The BNF Syntax for Common Notations Extensive-tokens are used in this protocol where the set of acceptable tokens includes private extensions. Any extensions of this protocol MAY use either bare-tokens allocated by IANA (under the procedure described in Section 7), or extension-tokens with the format "-<token>.<domain-name>", where <domain-name> is a valid (sub-)domain name on the Internet owned by the party who defines the extension. 3. Optional Authentication The Optional-WWW-Authenticate header enables a non-mandatory authentication, which is not possible under the current HTTP authentication mechanism. In several Web applications, users can access the same contents as both a guest user and an authenticated user. In most Web applications, this functionality is implemented using HTTP cookies [RFC6265] and custom form-based authentication. The new authentication method using this message will provide a replacement for these authentication systems. Servers MAY send HTTP non-interim responses containing the Optional-WWW-Authenticate header as a replacement for a 401 response when it is authentication-initializing. The Optional-WWW-Authenticate header MUST NOT be sent on 401 responses (i.e., a usual WWW-Authenticate header MUST be used on 401 responses). Optional-WWW-Authenticate = 1#challenge Figure 3: BNF Syntax for Optional-WWW-Authenticate Header Example: HTTP/1.1 200 OK Optional-WWW-Authenticate: Basic realm="xxxx" The challenges contained in the Optional-WWW-Authenticate header are the same as those for a 401 response corresponding to the same request. For authentication-related matters, an optional authentication request will have the same meaning as a 401 message with a corresponding WWW-Authenticate header (as an authentication- initializing response). (The behavior for other matters MAY be different between the optional authentication and 401 messages. For example, clients MAY choose to cache the 200 messages with the Optional-WWW-Authenticate header field but not the 401 messages by default.) A response with an Optional-WWW-Authenticate header SHOULD be returned from the server only when the request is either non- authenticated or authenticating to a wrong (not the server's expected) protection space. If a response is either an intermediate or a negative response to a client's authentication attempt, the server MUST respond with a 401 status response with a WWW-Authenticate header instead. Failure to comply with this rule will render clients unable to distinguish between authentication successes and failures. The server is NOT RECOMMENDED to include an Optional-WWW-Authenticate header in a positive response when a client's authentication attempt succeeds. Whenever an authentication scheme supports servers sending some parameter that gives a hint about the URL space for the corresponding protection space for the same realm (e.g., "path" or "domain"), servers requesting non-mandatory authentication SHOULD send such a parameter with the response. Clients supporting non-mandatory authentication MUST recognize the parameter and MUST send a request with an appropriate authentication credential in an Authorization header for any URI inside the specified paths. Implementations are not required to support this header for all of their supported authentication schemes (i.e., they may choose to implement it only for a subset of their supported schemes). New authentication schemes can require support of the optional authentication as a prerequisite, though. 3.1. Note on Optional-WWW-Authenticate and Use of WWW-Authenticate Header with Non-401 Status In the current specification of HTTP/1.1, it is clarified that the WWW-Authenticate header can be used with messages with status codes other than 401 (Authentication Required). In particular, the use of the WWW-Authenticate header with the 200 status messages implies a very similar meaning to the above-defined Optional-WWW-Authenticate header. The design of Optional-WWW-Authenticate header expects that the use of a new header guarantees that clients that are unaware of this extension will ignore the header, and that Web developers can rely on that behavior to implement a secondary fallback method of authentication. Several behavioral requirements written in the above section also assume this property and define a necessary functionality to implement an optional authentication reliably and consistently. On the other hand, some experiments and discussions on the IETF mailing list revealed that most of (but not necessarily all of) the existing HTTP clients, at the time of writing, just ignore the WWW- Authenticate headers in non-401 messages, giving similar behavior with the Optional-WWW-Authenticate. However, every corner case of behavior was not fully tested or well-defined in the existing specifications. Considering these situations, the authors of this document chose to use a new header for a new feature "experiment". This is to avoid defining every corner-case behavior for the existing standard WWW- Authentication header in this experimental document, which could be considered by some implementers as an incompatible changes to existing specification. Experimentally, the authors propose that implementers of the standard HTTP/1.1 specification (especially implementers of this extension) implement undefined (implementation-dependent) detailed handling of the WWW-Authenticate header with non-401 status messages similar as those defined above for the Optional-WWW-Authenticate header. For example, we propose that servers return the 401 status for failed authentication attempts, even when the unauthenticated request to the same resource will result in the 200 status. This can determine how (whether) non-mandatory authentication using the standard header fields and status codes can be implemented. If this experiment is successful, a future revision of this experimental document may "bless" and recommend the use of a standard WWW-Authenticate header, with some stricter requirements on some corner-case behavior. 4. Authentication-Control Header Authentication-Control = 1#auth-control-entry auth-control-entry = auth-scheme 1*SP 1#auth-control-param auth-control-param = extensive-token BWS "=" BWS token / extensive-token "*" BWS "=" BWS ext-value ext-value = <see RFC 5987, Section 3.2> Figure 4: The BNF Syntax for the Authentication-Control Header The Authentication-Control header provides more precise control of the client behavior for Web applications using an HTTP authentication protocol. This header is supposed to be generated in the application layer, as opposed to the WWW-Authenticate headers, which will usually be generated by the Web servers. Clients MAY freely choose any subset of these parameters to be supported. Also, these may choose to support any of the parameters for only a subset of their supported authentication schemes. However, authentication schemes can require/recommend support for some of these parameters as a prerequisite. The Authentication-Control header contains one or more "authentication control entries", each of which corresponds to a single realm for a specific authentication scheme. If the auth-scheme specified for an entry supports the HTTP "realm" feature, that entry MUST contain the "realm" parameter. If not, the entry MUST NOT contain the "realm" parameter. Among the multiple entries in the header, the relevant entries in the header are those corresponding to an auth-scheme and a realm (if any) for which "the authentication process is being performed or going to be performed". In more detail: (1) If the response is either an authentication-initializing response or a negatively authenticated response, there can be multiple challenges in the WWW-Authenticate header (or the Optional-WWW-Authenticate header defined in this extension), each of which corresponds to a different scheme and realm. In this case, the client has a choice about the scheme and realm they will use to authenticate. Only the entry in the Authentication-Control header corresponding to that scheme and realm are relevant. (2) If the response is either an intermediate authenticating response or a successfully authenticated response, the scheme and realm given in the Authorization header of the HTTP request will determine the currently ongoing authentication process. Only the entry corresponding to that scheme and realm are relevant. The server MAY send an Authentication-Control header containing non- relevant entries. The client MUST ignore all non-relevant entries it received. Every entry contains one or more parameters, each of which is a name- value pair. The name of each parameter MUST be an extensive-token. Clients MUST ignore any unknown parameters contained in this header. The entries for the same auth-scheme and the realm MUST NOT contain duplicated parameters for the same name. Clients MAY either take any one of those duplicated entries or ignore all of them. The type of parameter value depends on the parameter name as defined in the following subsections. Regardless of the type, however, the recipients MUST accept both quoted and unquoted representations of values as defined in HTTP. If the parameter is defined to have a string value, implementations MUST send any value outside of the "token" ABNF syntax in either a quoted form or an ext-value form (see Section 4.1). If the parameter is defined as a token (or similar) or an integer, the value SHOULD follow the corresponding ABNF syntax after possible unquoting of the quoted-string value (as defined in HTTP) and MUST be sent in a plain (not an ext-value) form. (Note: the rest of this document will show all string-value parameters in quoted forms, and it will show others in unquoted forms.) Any parameters contained in this header MAY be ignored by clients. Also, even when a client accepts this header, users are able to circumvent the semantics of this header. Therefore, if this header is used for security purposes, its use MUST be limited to providing some non-fundamental additional security measures valuable for end- users (such as client-side logout for protection against console takeover). Server-side applications MUST NOT rely on the use of this header for protecting server-side resources. Note: The header syntax allows servers to specify Authentication- Control for multiple authentication schemes, either as multiple occurrences of this header or as a combined single header (see Section 3.2.2 of [RFC7230] for rationale). The same care as for parsing multiple authentication challenges needs to be taken. 4.1. Non-ASCII Extended Header Parameters Parameters contained in the Authentication-Control header MAY be extended to non-ASCII values using the framework described in [RFC5987]. All servers and clients MUST be capable of receiving and sending values encoded in [RFC5987] syntax. If a value to be sent contains only ASCII characters, the field MUST be sent using plain RFC 7235 syntax. The syntax as extended by ext-value MUST NOT be used in this case. If a value (except the "realm" header) contains one or more non-ASCII characters, the parameter SHOULD be sent using the ext-value syntax defined in Section 3.2 of [RFC5987]. Such a parameter MUST have a charset value of "UTF-8", and the language value MUST always be omitted (have an empty value). The same parameter MUST NOT be sent more than once, regardless of the syntax used. For example, a parameter "username" with the value "Renee of France" SHOULD be sent as < username="Renee of France" >. If the value is "Ren<e acute>e of France", it SHOULD be sent as < username*=UTF-8''Ren%C3%89e%20of%20France > instead. Interoperability note: [RFC7235], Section 2.2, defines the "realm" authentication parameter that cannot be replaced by the "realm*" extend parameter. This means that the use of non-ASCII values for an authentication realm is not the defined behavior in HTTP. Unfortunately, some people currently use a non-ASCII realm parameter in reality, but even its encoding scheme is not well defined. Given this background, this document does not specify how to handle a non-ASCII "realm" parameter in the extended header fields. If needed, the authors propose using a non-extended "realm" parameter form, with a wish for maximum interoperability. 4.2. Auth-Style Parameter Example: Authentication-Control: Digest realm="protected space", auth-style=modal The parameter "auth-style" specifies the server's preference for user interface behavior for user authentication. This parameter can be included in any kind of response; however, it is only meaningful for either authentication-initializing or negatively authenticated responses. The value of this parameter MUST be one of the bare- tokens, "modal" or "non-modal". When the Optional-WWW-Authenticate header is used, the value of this parameter MUST be disregarded and the value "non-modal" is implied. The value "modal" means that the server thinks the content of the response (body and other content-related headers) is valuable only for users refusing the authentication request. The clients are expected to ask the user for a password before processing the content. This behavior is common for most of the current implementations of Basic and Digest authentication schemes. The value "non-modal" means that the server thinks that the content of the response (body and other content-related headers) is valuable for users before processing an authentication request. The clients are expected to first process the content and then provide users with the opportunity to perform authentication. The default behavior for clients is implementation dependent, and it may also depend on authentication schemes. The proposed default behavior is "modal" for all authentication schemes unless otherwise specified. The above two different methods of authentication possibly introduce an observable difference of semantics when the response contains state-changing side effects; for example, it can affect how Cookie headers [RFC6265] in 401 responses are processed. However, the server applications SHOULD NOT depend on the existence of such side effects. 4.3. Location-When-Unauthenticated Parameter Example: Authentication-Control: Mutual realm="auth-space-1", location-when-unauthenticated="http://www.example.com/login.html" The parameter "location-when-unauthenticated" specifies a location to which any unauthenticated clients should be redirected. This header can be used, for example, when there is a central login page for the entire Web application. The value of this parameter is a string that contains a URL location. If a received URL is not absolute, the clients SHOULD consider it a relative URL from the current location. This parameter MAY be used with a 401 response for an authentication- initializing response. It can also be contained, although this is NOT RECOMMENDED, in a positive response with an Optional-WWW-Authenticate header. The clients MUST ignore this parameter when a response is either successfully authenticated or intermediately authenticated. When a client receives an authentication-initiating response with this parameter, and if the client has to ask users for authentication credentials, the client will treat the entire response as if it were a 303 "See Other" response with a Location header that contains the value of this parameter (i.e., the client will be redirected to the specified location with a GET request). Unlike a normal 303 response, if the client can process authentication without the user's interaction, this parameter MUST be ignored. 4.4. No-Auth Parameter Example: Authentication-Control: Basic realm="entrance", no-auth=true The parameter "no-auth" is a variant of the location-when-unauthenticated parameter; it specifies that new authentication attempts are not to be performed on this location in order to improve the user experience, without specifying the redirection on the HTTP level. This header can be used, for example, when there is a central login page for the entire Web application and when an explicit user interaction with the Web content is desired before authentication. The value of this parameter MUST be a token "true". If the value is incorrect, the client MAY ignore this parameter. This parameter MAY be used with authentication-initiating responses. It can also be contained, although this is NOT RECOMMENDED, in a positive response with an Optional-WWW-Authenticate header. The clients MUST ignore this parameter when a response is either successfully authenticated or intermediately authenticated. When a client receives an authentication-initiating response with this parameter, if the client has to ask users for authentication credentials, the client will ignore the WWW-Authenticate header contained in the response and treat the whole response as a normal negative 4xx-class response instead of giving the user an opportunity to start authentication. If the client can process authentication without the user's interaction, this parameter MUST be ignored. Using this parameter along with the location-when-unauthenticated parameter is meaningless. If both were supplied, clients SHOULD ignore the location-when-unauthenticated parameter. This parameter SHOULD NOT be used as a security measure to prevent authentication attempts, as it is easily circumvented by users. This parameter SHOULD be used solely for improving the user experience of Web applications. 4.5. Location-When-Logout Parameter Example: Authentication-Control: Digest realm="protected space", location-when-logout="http://www.example.com/byebye.html" The parameter "location-when-logout" specifies a location where the client is to be redirected when the user explicitly requests a logout. The value of this parameter MUST be a string that contains a URL location. If a given URL is not absolute, the clients MUST consider it a relative URL from the current location. This parameter MAY be used with successfully authenticated responses. If this parameter is contained in other kinds of responses, the clients MUST ignore this parameter. When the user tells the client to terminate the current authentication period, if the client currently displays a page supplied by a response with this parameter, the client will automatically change the current location to the location specified in this parameter using a new GET request, as if it has received a 303 response. Any operations related to logout (e.g., erasing memories of username, authentication credential, and all related one- time credentials such as nonce or keys) SHOULD occur before processing a page transition. When the user requests the client for the termination of an authentication period, if the client supports this parameter but the server response does not contain this parameter, the client's RECOMMENDED behavior is as follows: if the request corresponding to the current content was the GET method, reload the page without the authentication credential. Otherwise, keep the current content as-is and simply forget the authentication status. The client SHOULD NOT replay a non-idempotent request without the user's explicit approval. Web applications are encouraged to send this parameter with an appropriate value for any responses (except those with redirection (3XX) statuses) for non-GET requests. See Section 5 for some examples for possible deployment of this parameter. 4.6. Logout-Timeout Parameter Example: Authentication-Control: Basic realm="entrance", logout-timeout=300 The parameter "logout-timeout", when contained in a successfully authenticated response, means that any authentication credentials and state related to the current protection space are to be discarded if the time specified in this header (in seconds) has passed since the time this header was received. The value MUST be an integer. As a special case, the value 0 means that the server is logging the client out immediately from the current authentication space and that the client is now returned to the unauthenticated state. This does not, however, mean that the long-term memories for the passwords and passwords-related details (such as password reminders and auto fill- ins) should be removed. If a new timeout value is received for the same authentication space, it cancels the previous timeout and sets a new timeout. 4.7. Username Parameter Example: Authentication-Control: Basic realm="configuration", username="admin" The parameter "username" tells us that the only "username" to be accepted by the server is the value given in this parameter. This parameter is particularly useful, for example, for routers and other network appliances with a Web configuration interface. Many of those use an HTTP Basic authentication with one predefined username, with many varieties such as "admin", "root", "user", etc. In the current situation, users have almost no hint about the valid username upon the authentication request. Some show the valid value in a "realm" string, some in the 401-status response page, shown _after_ the user gave up the authentication and canceled the authentication dialog. If this parameter is given, the client Web browser can auto- fill the username field in the authentication dialog before the users attempt to authenticate themselves. This parameter MAY be used with authentication-initiating responses or negatively authenticated responses requiring another attempt at authentication. The clients MUST ignore this parameter when a response is either successfully authenticated or intermediately authenticated. If the authentication scheme to be used has a syntax limitation on the allowed usernames (e.g., Basic and Digest do not allow colons in usernames); the specified value MUST follow that limitation. Clients SHOULD ignore any values that do not conform to such limitations. Also, if the used authentication scheme requires a specific style of text preparation for the username (e.g., PRECIS [RFC7564] string preparation or Unicode normalization), the server SHOULD send the values satisfying such requirements (so that clients can use the given username as is). Clients MAY still send any authentication requests with other usernames, possibly in vain. Clients are not required (also not forbidden) to give users opportunities for supplying a username different from the server-specified one. Servers are also not strictly required to reject usernames other than specified, but doing so will usually result in bad user experiences and may confuse users and clients. Although this parameter is useful in a specific class of use cases, using it in a general use case has many security implications and possible pitfalls. Please consult Section 8.1 before deciding to use this parameter. 5. Usage Examples This section shows some examples for applying this extension to typical websites that use forms and cookies for managing authentication and authorization. The content of this section is not normative and is for illustrative purposes only. In these examples, we assume that there are two kinds of clients (Web browsers). One kind of these implements all features described in the previous sections. We also assume that browsers will have a user interface that allows users to deactivate (log out from) current authentication sessions. The other kind are the "existing" implementations that do not support any of these features. When not explicitly specified, all settings described below are to be applied with Authentication-Control headers, and these can be sent to clients regardless of the authentication status (these will be silently ignored whenever not effective). 5.1. Example 1: A Portal Site This subsection provides an example application for a site whose structure is somewhat similar to conventional portal sites. In particular, most Web pages are available for guest (unauthenticated) users, and, if authentication is performed, the content of these pages is customized for each user. We assume that the site has the following kinds of pages currently: o Content pages o Pages/mechanism for performing authentication: * There is one page that asks for a username and a password using a HTML POST form. * After the authentication attempt, the user will be redirected to either the page that was previously displayed before the authentication or some specific page. o A de-authentication (logout) page. 5.1.1. Case 1: A Simple Application When such a site does not require specific actions upon login and logout, the following simple settings can be used: o Set up an optional authentication to all pages available to guests. Set up an Authentication-Control header with the "auth- style=non-modal" setting. o If there are pages only available to authenticated users, set up a mandatory authentication with the "auth-style=non-modal" setting. o No specific pages for authentication are needed. It will be performed automatically, directed by the above setting. o A de-authentication page is also not needed. If the site has one, put "logout-timeout=0" there. o For all pages for POST requests, it is advisable to have a "location-when-logout=<some page>". 5.1.2. Case 2: Specific Action Required on Logout If the site requires specific actions upon logout, the following settings can be used: o All settings in Case 1 are applied. o For all pages, set up the Authentication-Control header "location- when-logout=<de-authentication page>". o In the de-authentication page, no specific setup is needed. If there are any direct links to the de-authentication page, put "logout-timeout=0". 5.1.3. Case 3: Specific Page Displayed before Login If the site needs to display a specific page before login actions (some announcements, user notices, or even advertisements), the following settings can be applied: o Set up an optional authentication to all pages available to guests. Set up an Authentication-Control header with "no-auth=true". Put a link to a specific login page in contents. o If there are pages only available to authenticated users, set up a mandatory authentication with the "location-when-unauthenticated=<the login page>". o For the specific login page, set up a mandatory authentication. o For all pages for POST requests, it is advisable to have "location-when-logout=<some page>", too. o De-authentication pages are not needed. If the site has one, put "logout-timeout=0". 5.2. Example 2: Authenticated User-Only Sites If almost all pages in the target site require authentication (e.g., an Internet banking site), or if there is no need to support both unauthenticated and authenticated users on the same resource, the settings will become simpler. The following are examples for such a site: o Set up a mandatory authentication to all pages available to authenticated users. Set up an Authentication-Control header with the "auth-style=non-modal" setting. o Set up a handler for the 401-status that requests users to authenticate. o For all pages for POST requests, it is advisable to have a "location-when-logout=<some page>", too. o De-authentication pages are not needed. If the site will have one, put "logout-timeout=0" there. 5.3. When to Use Cookies In current websites using form-based authentication, Cookies [RFC6265] are used for managing both authorization and application sessions. Using the extensions in this document, the former features will be provided by using (extended) HTTP authentication/ authorization mechanisms. In some cases, there will be ambiguity on whether some functions are for authorization management or for session management. The following hints will be helpful for deciding which features to use. o If there is a need to serve multiple sessions for a single user using multiple browsers concurrently, use a Cookie for distinguishing between sessions for the same user. (C.f. if there is a need to distinguish between sessions in the same browser, HTML5 Web Storage [W3C.REC-webstorage-20130730] features can be used instead of Cookies.) o If a website is currently deploying a session time-out feature, consider who benefits from the feature. In most cases, the main requirement for such a feature is to protect users from having their consoles and browsers hijacked (i.e., benefits are on the users' side). In such cases, the time-out features provided in this extension can be used. On the other hand, the requirement is to protect the server's privilege (e.g., when some regulations require limiting the time difference between a user's two-factor authentication and financial transaction commitment; the requirement is strictly on the servers' side), that should be managed on the server side using Cookies or other session- management mechanisms. 5.4. Parallel Deployment with Form/Cookie Authentication In some transition periods, sites may need to support both HTTP-layer and form-based authentication. The following example shows one way to achieve that. o If Cookies are used even for HTTP-authenticated users, each session determined by Cookies SHOULD identify which authentication has been used for the session. o First, set up any of the above settings for enabling HTTP-layer authentication. o For unauthenticated users, add the following things to the Web pages, unless the client supports this extension and HTTP-level authentication: * For non-mandatory authenticated pages, add a link to the form- based authenticated pages. * For mandatory authenticated pages, either put a link to form- based authenticated pages or put an HTML-level redirection (using <META http-equiv="refresh" ...> element) to such pages. o In the form-based authenticated pages, if users are not authenticated, the page can provide a redirection for HTTP-level authentication by the "location-when-unauthenticated" setting. o Users are identified for authorization and content customization by the following logic: * First, check the result of the HTTP-level authentication. If there is a Cookie session tied to a specific user, both should match. * If the user is not authenticated on the HTTP-level, use the conventional form-based method to determine the user. * If there is a Cookie tied to HTTP authentication but there is no corresponding HTTP authentication result, that session will be discarded (because it means that authentication is deactivated by the corresponding user). 6. Methods to Extend This Protocol If a private extension to this protocol is implemented, it MUST use the extension-param to avoid conflicts with this protocol and any other extensions. (Standardized extensions or extensions that are being standardized MAY use either bare-tokens or extension-tokens.) When bare-tokens are used in this protocol, these MUST be allocated by IANA. Any tokens used for non-private, non-experimental parameters are RECOMMENDED to be registered with IANA, regardless of the kind of tokens used. Extension-tokens MAY be freely used for any non-standard, private, and/or experimental uses. An extension-token MUST use the format "-<bare-token>.<domain-name>", where <domain-name> is a validly registered (sub-)domain name on the Internet owned by the party that defines the extensions. Any unknown parameter name is to be ignored regardless of whether it is an extension-token or a bare-token. 7. IANA Considerations This document defines two new entries for the "Permanent Message Header Field Names" registry. +-------------+---------------------------+-------------------------+ | | Entry 1: | Entry 2: | +-------------+---------------------------+-------------------------+ | Header | Optional-WWW-Authenticate | Authentication-Control | | Field Name | | | | Protocol | http | http | | Status | experimental | experimental | | Change | IETF | IETF | | Control | | | | Spec. | Section 3 of this | Section 4 of this | | Document | document | document | +-------------+---------------------------+-------------------------+ This document also establishes the "HTTP Authentication Control Parameters" registry. The registry manages case-insensitive ASCII strings. The string MUST follow the extensive-token syntax defined in Section 2.2. To acquire registered tokens, a specification for the use of such tokens MUST be available as a publicly accessible document (see "Specification Required" in [RFC5226]). Registrations for authentication control parameters are required to include a description of the control extension. New registrations are advised to provide the following information: o Token: A token used in HTTP headers for identifying the algorithm. o Specification: A reference for the specification defining the algorithm. The initial content of this registry is as follows: +-------------------------------+------------------------------+ | Token | Specification | +-------------------------------+------------------------------+ | auth-style | Section 4.2 of this document | | location-when-unauthenticated | Section 4.3 of this document | | no-auth | Section 4.4 of this document | | location-when-logout | Section 4.5 of this document | | logout-timeout | Section 4.6 of this document | | username | Section 4.7 of this document | +-------------------------------+------------------------------+ 8. Security Considerations The purpose of the logout timeout feature in the Authentication- control header is to protect users of clients from impersonation caused by an attacker having access to the same console. The server application implementers SHOULD be aware that the directive may always be ignored by either malicious clients or clients not supporting this extension. If the purpose of introducing a timeout for an authentication period is to protect server-side resources, this protection MUST be implemented by other means such as HTTP Cookies [RFC6265]. All parameters in the Authentication-Control header SHOULD NOT be used for any security-enforcement purposes. Server-side applications MUST NOT assume that the header will be honored by clients and users. 8.1. Security Implication of the Username Parameter The "username" parameter sometimes reveals sensitive information about the HTTP server and its configurations that are useful for security attacks. In general, common security practice suggests that any kind of information on the existence/non-existence of a specific username shall not be disclosed before successful authentication. Obviously, the "username" parameter contradicts this practice. Given this background, the use of the "username" parameter SHOULD be strictly limited to cases where all of the following conditions are met: (1) the valid username is pre-configured and not modifiable (such as root, admin, or similar ones); (2) the valid username for such an appliance is publicly known (for example, written in a manual document); and (3) either the valid username for the server is easily guessable by other means (for example, from the model number shown in an unauthenticated page), or the server is accessible only from limited networks. Most importantly, the "username" parameter SHOULD NOT be used in any case when the valid usernames can be changed/configured by users or administrators. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, <http://www.rfc-editor.org/info/rfc5226>. [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008, <http://www.rfc-editor.org/info/rfc5234>. [RFC5987] Reschke, J., "Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters", RFC 5987, DOI 10.17487/RFC5987, August 2010, <http://www.rfc-editor.org/info/rfc5987>. [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, <http://www.rfc-editor.org/info/rfc7230>. [RFC7235] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer Protocol (HTTP/1.1): Authentication", RFC 7235, DOI 10.17487/RFC7235, June 2014, <http://www.rfc-editor.org/info/rfc7235>. 9.2. Informative References [RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, DOI 10.17487/RFC6265, April 2011, <http://www.rfc-editor.org/info/rfc6265>. [RFC7564] Saint-Andre, P. and M. Blanchet, "PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols", RFC 7564, DOI 10.17487/RFC7564, May 2015, <http://www.rfc-editor.org/info/rfc7564>. [RFC7615] Reschke, J., "HTTP Authentication-Info and Proxy- Authentication-Info Response Header Fields", RFC 7615, DOI 10.17487/RFC7615, September 2015, <http://www.rfc-editor.org/info/rfc7615>. [W3C.REC-webstorage-20130730] Hickson, I., "Web Storage", World Wide Web Consortium Recommendation REC-webstorage-20130730, July 2013, <http://www.w3.org/TR/2013/REC-webstorage-20130730>. Appendix A. (Informative) Applicability of Features for Each Message This section provides a cross-reference table showing the applicability of the features provided in this specification to each kind of response described in Section 2.1. The table provided in this section is for informative purposes only. +-------------------+-------+----------+-----------+------+ | | init. | success. | intermed. | neg. | +-------------------+-------+----------+-----------+------+ | Optional auth. | O | n | N | N | | auth-style | O | - | - | O | | loc.-when-unauth. | O | I | I | i | | no-auth | O | I | I | i | | loc.-when-logout | - | O | - | - | | logout-timeout | - | O | - | - | | username | O | - | - | O | +-------------------+-------+----------+-----------+------+ Legends: O = MAY contain; n = SHOULD NOT contain; N = MUST NOT contain i = SHOULD be ignored; I = MUST be ignored; - = meaningless (to be ignored) Authors' Addresses Yutaka Oiwa National Institute of Advanced Industrial Science and Technology Information Technology Research Institute Tsukuba Central 1 1-1-1 Umezono Tsukuba-shi, Ibaraki Japan Email: firstname.lastname@example.com Hajime Watanabe National Institute of Advanced Industrial Science and Technology Information Technology Research Institute Tsukuba Central 1 1-1-1 Umezono Tsukuba-shi, Ibaraki Japan Email: firstname.lastname@example.com Hiromitsu Takagi National Institute of Advanced Industrial Science and Technology Information Technology Research Institute Tsukuba Central 1 1-1-1 Umezono Tsukuba-shi, Ibaraki Japan Email: firstname.lastname@example.com Kaoru Maeda Lepidum Co. Ltd. Village Sasazuka 3, Suite #602 1-30-3 Sasazuka Shibuya-ku, Tokyo Japan Email: firstname.lastname@example.com Tatsuya Hayashi Lepidum Co. Ltd. Village Sasazuka 3, Suite #602 1-30-3 Sasazuka Shibuya-ku, Tokyo Japan Email: email@example.com Yuichi Ioku Individual Contributor Email: email@example.com User Contributions:Comment about this RFC, ask questions, or add new information about this topic:


text:
Welcome to Ventu Immo !
We will support you until the achievement of your sale or purchase project with great enthusiasm and professionalism.
We propose all types of real goods at Cannes and the French Riviera: Small studio, prestigious
villa; apartment building…
We are perfectly trilingual - English, French, Italian – and we offer you a personalized service and best advice.
We are a real estate agency and finder in Cannes, Le Cannet and Alpes Maritimes department.
You will benefit from our market knowledge and solid experience.
Increase your chances of success for your real estate project!


text:
Languages Spoken
Express Travel has been in business since 1989. Our service standards are one of the highest in the industry earning us numerous awards and recognitions including: national Travel Agency of the Year, top ten woman owned company in the State of Florida, one of the top Hispanic companies in the nation, State of Florida's Business Ambassador, among others.
The secret to our success lies in our people. Our team of dedicated and knowledgeable travel professionals have extensive industry experience and know how. More importantly, they are always ready to go the extra mile for our customers providing outstanding customer service. A vast majority of the Express Travel family, has been with the company since our very beginnings. What does that mean to our customers? They are assured of dealing with experienced, qualified professionals, every time services are rendered.
Our comprehensive menu of worldwide services include corporate, vacation, cruise, groups, meetings and incentives and study abroad departments, assure our customers that any and all of their travel needs can be taken care of.
We look forward to your business and exceeding your expectations.


text:
There's a tinge of brandy in the air on this steamy night in Tikiland. The darkness is so thick and cruel that even the mice don't want to step out for a crumb. A door creeks open in the darkness, and a man in a black trench coat and tilted fedora carefully picks his way through the tables until he reaches the bar…
For those of you who dig Noir style movies and fiction, I've got a real treat for you tonight:
"A Flash of Noir: Flash Fiction & Short, Short Stories with a Twist" by yours truly, Tiki Chris, is now
For a limited time, for Kindle!
A Flash of Noir is a collection of flash fiction and short, short stories, laid down old-school style by master mystery writer Christopher Pinto. Writing in the genre of gumshoe detectives and sultry dames, creepy horror and hep cat jive, Pinto has put together a series of mostly one-page, 60-second reads that will transport you to another time…a darker, more sinister time.
From smokey bars in New York City to the tropical islands of the Florida keys, A Flash of Noir takes you for a spin through the seediest gin joints and darkest alleys. One minute you're speeding down I-95 in a hot rod, the next you're tasting cheap whiskey in a basement tap room where the women are heartless and the men are unforgiving. Gangsters, cops, private eyes, strippers, murderers, phantoms…plus a few comedy pieces to keep you from wanting to slit your wrists.
Over 40 stories of crime fiction, ghost stories, retro fiction and short beatnik poetry plus noir-esque original photographs by the author make this a fast, fun read. There's even a flash written entirely of song titles…see if you can list every one!
All you need is an Amazon account and a Kindle or Kindle Reader App on your phone, ipad, computer, etc, and you're all set! Just click this link, A Flash of Noir, to download this groovy tome for free.
BTW: Did I mention it's free?
Your Weekend Vintage Cocktail: The Bogart Cocktail
You're going to need something cool and noir-ish to sip while reading this book. What could be better than a cocktail named after Humphrey Bogart? Now, this wasn't his kind of drink (he was mainly a Scotch man), but we can certainly picture this concoction as the house drink at Rick's Cafe Americain in Casablanca.
• 1 1/2 oz. apple brandy
• 1 oz. brandy
• 1/4 oz. lemon syrup
• 1/4 oz. lime syrup
• 1/4 oz. vanilla vodka
• Chilled cocktail glass
• Lemon wheel, for garnish
• Lime wheel, for garnish
Pour all ingredients except the wheels into a shaker and shake with crushed ice until a frost forms on the outside of the can. Strain into cocktail glasses, and garnish with the wheels. Serving on a silver plate with .45 caliber bullet adds a nice touch.
-Tiki Chris, reporting from the bar at Rick's, c. 1944


text:
Dimensions | 18 × 20 in |
Florence Putterman is an internationally known artist with a great imagination who has constantly reinvented her work throughout her career. She has received numerous accolades including the Distinguished Alumni Award from Pennsylvania State University and a National Endowment Grant in 1979. Her paintings and prints have been displayed in many museum and corporate collections including: Metropolitan Museum of Art and Brooklyn Museum, New York; Chicago Art Institute, Chicago; and Jacksonville Museum, Polk Museum, and Gulf Coast Museum in Florida. Putterman is listed in Who's Who in American Art, Who's Who in American Women, and Who's Who in America.
[email protected]
© Florence Putterman. All rights reserved. USA
Fill in your details below and we'll get back to you in no time.


text: Jerry, the sportswriters in Pittsburgh can be vicious. Mark Madden [the most hated radioman in the 'Burgh] is claiming Kevin Dotson came to minicamp out of shape & that's why they moved him to the left of the OLine. This gave a LOT of pause to Steeler Twitterverse. Because Dotson had been posting pics of himself pulling a truck, working out with another [& looking great, by the way]. Who do you believe?


text:
As you may know, it's common to include a home inspection as a condition of an offer you make. It protects you from issues that you might not otherwise see during a viewing.
What do you do if the home inspector finds something wrong? The inspector might find a leak in the foundation, or windows that are old, drafty and need replacing.
Must you pass on a property that you otherwise like?
Not necessarily. Just because the home inspector discovered a deficiency doesn't necessarily mean you shouldn't purchase the home. You should, however, bring the issue up with the seller.
Your REALTOR® will do that on your behalf, and look after your interests.
In many circumstances, your REALTOR® will be able to negotiate an agreement that is satisfactory to everyone involved. This will usually be in the form of a reduction in the sale price to cover some or all of the costs of the repair, or a requirement to have the seller get the repairs done before you move in.
So don't worry if the inspector finds something wrong. Chances are you can still get the home and have any issues dealt with to your satisfaction.
Looking for a good REALTOR®?
Call Marina 416-843-1515 today.
Your Real Estate Connection:
Marina Gavrylyuk
Real Estate Agent with Sutton Group Summit Realty
RentListingService.com – Condos and Houses for rent
CondoName.com – New and Resale Condos and Towns from Developers
Marina Gavrylyuk
Sales Representative
Sutton Group-Summit Realty Inc. Brokerage
1100 Burnhamthorpe Road West #27
Mississauga, Ontario, L5C 4G4
Cell: 416-843-1515 Tel.: 905-897-9555
Email: email@example.com
Web: www.MarinaG.ca
Sorry we are experiencing system issues. Please try again.


text:
Shiny Happy Buttons
Since Mac OS X burst onto our screens, glossy, glassy, shiny buttons have been almost de rigeur, and have essentially, along with reflections and rounded corners, become a cliché of Web 2.0 "design". But if you can't beat 'em you'd better join 'em. So, in this little contribution to our advent calendar, we're going to take a plain old boring HTML button, and 2.0 it up the wazoo.
But, here's the catch. We'll use no images, either in our HTML or our CSS. No sliding doors, no image replacement techniques. Just straight up, CSS, CSS3 and a bit of experimental CSS. And, it will be compatible with pretty much any browser (though with some progressive enhancement for those who keep up with the latest browsers).
The HTML
We'll start with our HTML.
<button type="submit">This is a shiny button</button>
OK, so it's not shiny yet – but boy will it ever be.
Before styling, that's going to look like this.
Ironically, depending on the operating system and browser you are using, it may well be a shiny button already, but that's not the point. We want to make it shiny 2.0. Our mission is to make it look something like this
If you want to follow along at home keep in mind that depending on which browser you are using you may see fewer of the CSS effects we've added to create the button. As of writing, only in Safari are all the effects we'll apply supported.
Taking a look at our finished product, here's what we've done to it:
- We've given the button some padding and a width.
- We've changed the text color, and given the text a drop shadow.
- We've given the button a border.
- We've given the button some rounded corners.
- We've given the button a drop shadow.
- We've given the button a gradient background.
and remember, all without using any images.
Styling the button
So, let's get to work.
First, we'll add given the element some padding and a width:
button {
padding: .5em;
width: 15em;
Next, we'll add the text color, and the drop shadow:
color: #ffffff;
text-shadow: 1px 1px 1px #000;
A note on text-shadow
If you've not seen text-shadows before well, here's the quick back-story. Text shadow was introduced in CSS2, but only supported in Safari (version 1!) some years later. It was removed from CSS2.1, but returned in CSS3 (in the text module). It's now supported in Safari, Opera and Firefox (3.1). Internet Explorer has a shadow filter, but the syntax is completely different.
So, how do text-shadows work? The three length values specify respectively a horizontal offset, a vertical offset and a blur (the greater the number the more blurred the shadow will be), and finally a color value for the shadow.
Rounding the corners
Now we'll add a border, and round the corners of the element:
border: solid thin #882d13;
-webkit-border-radius: .7em;
-moz-border-radius: .7em;
border-radius: .7em;
Here, we've used the same property in three slightly different forms. We add the browser specific prefix for Webkit and Mozilla browsers, because right now, both of these browsers only support border radius as an experimental property. We also add the standard property name, for browsers that do support the property fully in the future.
The benefit of the browser specific prefix is that if a browser only partly supports a given property, we can easily avoid using the property with that browser simply by not adding the browser specific prefix. At present, as you might guess, border-radius
is supported in Safari and Firefox, but in each the relevant prefix is required.
takes a length value, such as pixels. (It can also take two length values, but that's for another Christmas.) In this case, as with padding, I've used ems, which means that as the user scales the size of text up and down, the radius will scale as well. You can test the difference by making the radius have a value of say 5px, and then zooming up and down the text size.
We're well and truly on the way now. All we need to do is add a shadow to the button, and then a gradient background.
In CSS3 there's the box-shadow
property, currently only supported in Safari 3. It's very similar to text-shadow
– you specify a horizontal and vertical offset, a blur value and a color.
-webkit-box-shadow: 2px 2px 3px #999;
box-shadow: 2px 2px 2px #bbb;
Once more, we require the "experimental" -webkit-
prefix, as Safari's support for this property is still considered by its developers to be less than perfect.
Gradient Background
So, all we have left now is to add our shiny gradient effect. Now of course, people have been doing this kind of thing with images for a long time. But if we can avoid them all the better. Smaller pages, faster downloads, and more scalable designs that adapt better to the user's font size preference. But how can we add a gradient background without an image?
Here we'll look at the only property that is not as yet part of the CSS standard – Apple's gradient function for use anywhere you can use images with CSS (in this case backgrounds). In essence, this takes SVG gradients, and makes them available via CSS syntax.
Here's what the property and its value looks like:
background-image: -webkit-gradient(linear, left top, left bottom, from(#e9ede8), to(#ce401c),color-stop(0.4, #8c1b0b));
Zooming in on the gradient function, it has this basic form:
-webkit-gradient(type, point, point, from(color), to(color),color-stop(where, color));
Which might look complicated, but is less so than at first glance.
The name of the function is gradient
(and in this case, because it is an experimental property, we use the -webkit-
You might not have seen CSS functions before, but there are others, including the attr()
function, used with generated content. A function returns a value that can be used as a property value – here we are using it as a background image.
Next we specify the type of the gradient. Here we have a linear gradient, and there are also radial gradients.
After that, we specify the start and end points of the gradient – in our case the top and bottom of the element, in a vertical line.
We then specify the start and end colors – and finally one stop color, located at 40% of the way down the element. Together, this creates a gradient that smoothly transitions from the start color in the top, vertically to the stop color, then smoothly transitions to the end color.
There's one last thing. What color will the background of our button be if the browser doesn't support gradients? It will be white (or possibly some default color for buttons). Which may make the text difficult or impossible to read. So, we'll add a background color as well (see why the validator is always warning you when a color but not a background color is specified for an element?).
If we put it all together, here's what we have:
button {
width: 15em;
padding: .5em;
color: #ffffff;
text-shadow: 1px 1px 1px #000;
border: solid thin #882d13;
-webkit-border-radius: .7em;
-moz-border-radius: .7em;
border-radius: .7em;
-webkit-box-shadow: 2px 2px 3px #999;
box-shadow: 2px 2px 2px #bbb;
background-color: #ce401c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#e9ede8), to(#ce401c),color-stop(0.4, #8c1b0b));
Which looks like this in various browsers:
In Safari (3)
In Firefox 3.1 (3.0 supports border-radius but not text-shadow)
In Opera 10
and of course in Internet Explorer (version 8 shown here)
But it looks different in different browsers
Yes, it does look different in different browsers, but we all know the answer to the question "do web sites need to look the same in every browser?".
Even if you really think sites should look the same in every browser, hopefully this little tutorial has whet your appetite for what CSS3 and experimental CSS that's already supported in widely used browsers (and we haven't even touched on animations and similar effects!).
I hope you've enjoyed out little CSSMas present, and look forward to seeing your shiny buttons everywhere on the web.
Oh, and there's just a bit of homework – your job is to use the :hover
selector, and make a gradient in the hover state.
About the author
John Allsopp is a founder of Westciv, an Australian web software development and training company, which provides some of the best CSS resources and tutorials on the web. Westciv's software and training are used in dozens of countries around the World. The head developer of the leading cross platform CSS editor, Style Master, John has written on web development issues for numerous web and print publications and was one of the earliest members of the Web Standards Project.


text:
International Helpline 8476912345
Controller of Examination Department,Academic Block, Rayat Bahra University,Kharar, Mohali.(Punjab)Phone No. 0160-5009665,75,71Email: firstname.lastname@example.com
Beneficiary Name: Controller of Examination Rayat Bahra UniversityAccount No. 19341131000261Bank Name: Punjab National Bank (e OBC)IFSC CODE: ORBC0101934Place: Sahauran (Mohali)
Academic documents requests are usually processed between one and three business days. During periods of high volume, it may take longer. All charges are nonrefundable. Document requests will not be processed for students with financial obligations to the university.


text:
Iconic NY (P1)
Wednesday, March 26, 2025 ( 09:30am - 12:30pm )Iconic NYC Photo Safari ® (Part 1) - Iconic NYC Photo Safari (Part 1) - Join us on a fast paced Photo Safari to explore some of New York City's most iconic locations. Photograph Rockefeller Center, Radio City Music Hall, Empire State Building, and Central Park*. We'll show you how to photograph these landmark locations while sharpening your photography skills. You'll learn how to work with lines and angles to bring these locations to life and you'll even get an opportunity to photograph the skyline from Central Park. This is a very fast paced Photo Safari and will utilize the NYC Subway system; where you'll have an opportunity to learn how to capture motion with the subway trains. Subway fare is included. This photography workshop is appropriate for all levels of photographic experience and is a great companion to Iconic NY P2 . This photography workshop is appropriate for all levels of photographic knowledge. (Limit 8 participants per safari; please no unregistered attendees)
+++ This safari covers a lot of ground (1.5 miles), so put on your sneakers and be ready to move! +++Meeting point: Midtown Manhattan (see confirmation)
Time: 3 Hours
Fee: $125 (per participant)
*NYCPS does not claim, express or imply sponsorship/endorsement by or affiliated with the Rockefeller Centrer, RCMH, or Empire State Building; all images used are for reference only.


text:
Office | Consulate of Bulgaria in Hamburg |
Location | Alstertor 15, 20095 Hamburg, Germany |
Phone | |
Website |
The hours of the Bulgaria Consulate in the Hamburg are as follows:
Monday | 10:30 AM–1 PM |
Tuesday | 10:30 AM–1 PM |
Wednesday | 10:30 AM–1 PM |
Thursday | 10:30 AM–1 PM |
Friday | Closed |
Saturday | Closed |
Sunday | Closed |
The address of the Bulgaria Consulate in Hamburg is located on Alstertor 15, 20095 Hamburg, Germany.
Frequent questions
Answers to the most frequently asked questions about requesting an appointment at the Bulgaria in Hamburg.
Consular formalities
- Renew or apply for passports: You can renew your passport of Bulgaria or apply for a new one if you've lost it while abroad.
- Obtain visas and residency permits: Consulates can assist you in obtaining visas and residency permits for Bulgaria to Hamburg.
- Register births and marriages: If you have a child abroad or get married in a foreign country, the consulate of Bulgaria in Hamburg can help you register these events.
- Emergency assistance: This consulate of Bulgaria provide assistance in emergencies such as detention, hospitalization, or loss of belongings in Hamburg.
- Legalize documents: Consulate can authenticate documents like notarized powers of attorney or academic degrees for recognition in Bulgaria.
- Vote in elections of Bulgaria: Some consulates allow citizens to vote in national elections while abroad.
- Guidance and counseling: Consulates offer information on local laws, customs, medical services, and other aspects of life in Hamburg.
- Certificates and document notarization: Consulate can issue certificates, authenticate documents, and perform notarial functions.
- Repatriation in emergencies: In situations like natural disasters or conflicts, consulate can help citizens return to Bulgaria.
- Assistance in case of lost or stolen documents: If you lose your Bulgaria passport or other vital documents, the consulate can assist in obtaining replacements and offer guidance.


text:
Listen to 28 Trombonists Play 'Bohemian Rhapsody'
Twenty-eight trombonists recently got together to perform Queen's classic "Bohemian Rhapsody."
It's 48 fewer trombones than the 76 famously mentioned in a tune from the 1957 Broadway classic The Music Man. Then again, it's not the marching-band music Prof. Harold Hill envisioned the children of River City, Iowa, playing either. And unlike Hill's vision, it's not a scam.
As you can see in the video below, the performance begins with only four musicians (in split-screen, not the "four faces" pose from Queen's famous video for the song), and follows "Bohemian Rhapsody"'s dynamics, reaching its peak at the spot where the guitar solo would start.
The clip, which is titled "Bonehemian Rhapsody," was recorded during the 2018 International Trombone Festival, according to NPR. The annual event showcases the "many styles of music performed by trombonists," says its website. "ITF programming focuses on diversity, and reflects a comprehensive sampling of trombone styles as they are performed around the world. The ITF seeks to unite artists, pedagogues, composers, students, hobbyists and enthusiasts under the common goal of promoting, understanding, appreciating and celebrating the trombone and its literature."
After the song's completion, video mastermind Christopher Bill -- whose YouTube channel features many other trombone arrangements of pop and classic rock songs -- shows up to promote next year's festival, which will take place in Muncie, Ind. in July 2019.
He also credits the musicians who performed "Bohemian Rhapsody," who range from members of symphonies around the world to professors to a musician who's worked with the Glenn Miller and Stan Kenton orchestras.


text:
About Us
The Ransdells have built their business from the ground....up, establishing a reputation based upon trust. They are proud of the VALUE they bring to the folks in Harrodsburg, Mercer County, and the surrounding area.
Our Location
345 E. Lexington St.
Harrodsburg, KY 40330
Phone: 859-734-4317
Fax: 859-734-2422
Email: email@example.com